/*
 *   var
 *       - 没有块级作用域
 *   let
 *       - 有块级作用域
 *   const
 *       - 和let类似，具有块级作用域，但是它只能赋值一次
 *       - 使用场景：
 *           1. 对于一些常量可以使用const声明
 *           2. 对于一些对象（函数）也可以使用const声明
 *                  这样可以避免对象（函数）被意外修改
 * */
{
  let a = 10;
}

// console.log(a);

for (let i = 0; i < 5; i++) {
  console.log("循环内部-->", i);
}

// console.log('循环外部-->', i);

(function () {
  if (false) {
    var b = 33;
  }
})();

if (false) {
  let b = 33;
}

// console.log(b);

const c = 44;
// c = 'hello';

const PI = 3.14;

// console.log(c);

const obj = { name: "孙悟空" };
obj.age = 18;

const fn = function () {};

console.log(obj.age);
